Improve the speedup of bidi display introduced in revision 106124 for bug#9771.
authorEli Zaretskii <eliz@gnu.org>
Thu, 20 Oct 2011 12:39:52 +0000 (14:39 +0200)
committerEli Zaretskii <eliz@gnu.org>
Thu, 20 Oct 2011 12:39:52 +0000 (14:39 +0200)
commitb2eb5f137cc5f2ac48e677803b37e6a5709388b3
tree30fc7595964fe170fdc33776aeb23dd5e49e4b3e
parent3ee1e737cd69b12fda65bab1c04504b7e2231c25
Improve the speedup of bidi display introduced in revision 106124 for bug#9771.

 src/dispextern.h (struct bidi_it): New member next_en_type.
 src/bidi.c (bidi_line_init): Initialize the next_en_type member.
 (bidi_resolve_explicit_1): When next_en_pos is valid for the
 current character, check also for next_en_type being WEAK_EN.
 (bidi_resolve_weak): Don't enter the expensive loop if the current
 position is before next_en_pos.  Record the bidi type of the first
 non-ET, non-BN character we find, in addition to its position.
 (bidi_level_of_next_char): Invalidate next_en_type when
 next_en_pos is over-stepped.
src/ChangeLog
src/bidi.c
src/dispextern.h